Iterative deepening is a variant of depth-first search designed to deal with search tree where some branches are very deep, possibly infinitely so. It proceeds just like normal depth-first search, but limits its search to the first D level of the tree, where D is a limiting factors, perhaps 10 levels. If this search is unsuccessful, D is increased and the process repeated (with tweaks to avoid repeated work).
Defined on pages 68, 68
Used on pages 68, 69, 74, 80, 222